home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 21 / AMIGAplus Sonderheft 21 (1999)(ICP)(DE)[!].iso / PublicDomain / System / recoverdeldir / prefs / RecoverDelDir.prefs next >
Text File  |  1999-08-23  |  33KB  |  958 lines

  1. /* $VER: RecoverDelDir.prefs 1.2 (7.4.1999) by Ralf Heinert  */
  2. /* Frodo@W-Specht.e.Ruhr.de | Frodo@Focus.Ruhr.de           */
  3. /* Prefsprogram for RecoverDelDir.dopus5                  */
  4.  
  5. Version = "RDD.prefs 1.2"
  6.  
  7. options results
  8. options FAILAT 99
  9.  
  10. SIGNAL ON break_c
  11. SIGNAL ON failure
  12. SIGNAL ON halt
  13. SIGNAL ON ioerr
  14. SIGNAL ON syntax
  15.  
  16. FromRDD = 0
  17. window = '00000000'x
  18.  
  19. PARSE ARG FromRDD PrefsVersion
  20.  
  21. IF FromRDD = "" THEN FromRDD = 0
  22. IF PrefsVersion = "" | PrefsVersion = 0 THEN PrefsVersion = Version
  23.  
  24. Help = 1
  25. Fonts        = "SYS:Prefs/Font"
  26. Triton       = "SYS:Prefs/Triton"
  27. ENVPrefs     = "ENV:RecoverDelDir.prefs"
  28. ENVARCPrefs  = "ENVARC:RecoverDelDir.prefs"
  29. Multiviev    = "SYS:Utilities/Multiview"
  30. AmigaGuide   = "SYS:Utilities/AmigaGuide"
  31. RDDgGuide    = "DOpus5:Tools/RecoverDelDir/Anleitungen/RecoverDelDirPrefs.Guide"
  32. RDDeGuide    = "DOpus5:Tools/RecoverDelDir/Instructions/RecoverDelDirPrefs.Guide"
  33.  
  34.  
  35. NL = '0a'x
  36. Kennung  = "."||Right(CALL Pragma(ID),8)"."Time('S')
  37. ErrorReqTitle = "RecoverDelDir.Prefs Error"
  38.  
  39. Error      = 0
  40. Newprefs   = 0
  41. ValuesOK   = 1
  42. PathExists = 1
  43. FileExists = 1
  44.  
  45. PrefsLines = 6
  46. Prefs.0    = PrefsLines
  47. NPrefs.0   = PrefsLines
  48.  
  49. DelDirName.1   = ".DELDIR"
  50. DelDirName.2   = ".Recycled"
  51. DelDirName.3   = ".MyDelDirName"
  52.  
  53. DPrefs.1 = 56
  54. DPrefs.2 = 8
  55. DPrefs.3 = DelDirName.3
  56. DPrefs.4 = "Ram:T/"
  57. DPrefs.5 = "DOpus5:Tools/RecoverDelDir/C/"
  58. DPrefs.6 = "DOpus5:Tools/RecoverDelDir/C/"
  59.  
  60.  
  61. FileName.1 = ""
  62. FileName.2 = ""
  63. FileName.3 = ""
  64. FileName.4 = ""
  65. FileName.5 = "SFSDeldirName"
  66. FileName.6 = "DeviceInfo"
  67.  
  68. MaxValue.1 = 86
  69. MinValue.1 = 20
  70. MaxValue.2 = 31
  71. MinValue.2 = 3
  72. MaxValue.3 = 43
  73. MaxValue.4 = 57
  74. MaxValue.5 = 99
  75. MaxValue.6 = 99
  76.  
  77.  
  78. IF Open('lg','ENV:language','R') THEN DO
  79.   language = ReadLn('lg')
  80.   Call Close('lg')
  81. END
  82. ELSE Language = "english"
  83.  
  84. IF language = "deutsch" THEN DO
  85.   TRCA_Info               = "Voreinsteller für RecoverDelDir"
  86.   ERROR_NoRexxSupport     = "Ich kann die rexxsupport.library nicht finden !"
  87.   ERROR_NoTritonRexx      = "Ich kann die tritonrexx.library nicht finden !"
  88.   ERROR_NoTritonLib       = "Ich kann die triton.library nicht finden !"
  89.   ERROR_NoLibGagdet       = "Besorge ich gleich"
  90.   MENU_Title_1            = "Projekt"
  91.   MENU_Help               = "Hilfstexte ?"
  92.   MENU_LoadLast           = "Lade Vorherige Einstellung"
  93.   MENU_LoadDefault        = "Lade Grundeinstellung"
  94.   MENU_LoadAgain          = "Lade nocheinmal"
  95.   MENU_SaveAndDie         = "Speichern & Ende"
  96.   MENU_UseAndDie          = "Benutzen  & Ende"
  97.   MENU_QuitAndDie         = "Abbruch   & Ende"
  98.   GAD_Snap                = "RDD fixieren"
  99.   GAD_Fonts               = "Schriftarten"
  100.   GAD_Triton              = "Triton-Prefs"
  101.   GAD_Save                = "Speichern"
  102.   GAD_USE                 = "Benutzen"
  103.   GAD_Cancel              = "Abbruch"
  104.   WIN_MinWith             = "Fensterbreite :"
  105.   WIN_MinWith_S           = "[Zeichen]"
  106.   WIN_MinLines            = "Fensterhöhe :"
  107.   WIN_MinLines_S          = "[Zeilen]"
  108.   WIN_DelDir              = "DelDir Name :"
  109.   WIN_TempDir             = "Zwischenspeicherpfad:"
  110.   WIN_RDDPath             = "Pfad zu RecoverDelDir.dopus5  :"
  111.   WIN_RDDSPath            = "Pfad zu RecoverDelDir.strings :"
  112.   WIN_SFSDEldirName_Path  = "SFSDeldirName :"
  113.   WIN_DeviceInfo_Path     = "DeviceInfo :"
  114.   QH_Snap                 = "Position und"NL"Fensterdimensionen"NL"von RecoverDelDir"NL"resetfest fixieren."
  115.   QH_Fonts                = "Der Fonts-Voreinsteller"NL"der Workbench"NL"wird aufgerufen."
  116.   QH_Triton               = "Der Triton-Voreinsteller"NL"SYS:Prefs/Triton"NL"wird aufgerufen."
  117.   QH_MinWidth             = "Mindestanzahl"NL"der darzustellenden Zeichen"NL"in der Ziel-Zeile."
  118.   QH_MinLines             = "Mindestanzahl"NL"der darzustellenden"NL"Listenzeilen."
  119.   QH_TempDir              = "Hier wird,"NL"für den User unsichtbar,"NL"die zu restaurierende"NL"Datei zwischengespeichert."
  120.   QH_DelDir               = "Ein anderer Name"NL"für das .DELDIR"NL"nach dem auch"NL"gesucht werden soll"
  121.   QH_DelDirList_1         = "Nach diesen DELDIR-Namen"NL"sucht RecoverDelDir:"||NL||NL||DelDirName.1||NL||DelDirName.2||NL
  122.   QH_DelDirList_2         =  NL||NL"Der letzte Name kann"NL"hier verändert werden."
  123.   QH_SFSDeldirName        = "Hier befindet sich"NL"das Programm"NL"SFSDeldirName"
  124.   QH_DeviceInfo           = "Hier befindet sich"NL"das Programm"NL"DeviceInfo"
  125.   REQ_Title_ConfigProblem = "RDD.Prefs Konfigurationsproblem"
  126.   REQ_Title_HeavyError    = "RecoverDelDir.Prefs Fehler"
  127.   REQ_Title_UsageError    = "RecoverDelDir.Prefs"
  128.   REQ_Title_TempDir       = "Neuer Zwischenspeicher Pfad:"
  129.   REQ_Title_RDDPath       = "Neuer RecoverDelDir.dopus5 Pfad:"
  130.   REQ_Title_RDDSPath      = "Neuer RecoverDelDir.strings Pfad"
  131.   REQ_Title_FilePos       = "Wo ist"
  132.   ERROR_WrongPrefs        = "Inkompatible Prefsdatei vorgefunden.*nSie wurde umbenannt in:*n"
  133.   ERROR_ValueWrong_1      = "Dies ist keine reine Zahl"
  134.   ERROR_ValueTooHigh_1    = "Dieser Wert könnte zu hoch sein ..."
  135.   ERROR_ValueTooHigh_B0   = "Mal sehen ..."
  136.   ERROR_ValueTooLow_1     = "Dieser Wert ist zu niedrig"
  137.   ERROR_ValueTooLow_B0    = "Hmmm"
  138.   ERROR_PathTooLong_1     = "Pfadname zu lang :"
  139.   ERROR_PathTooLong_2     = "benutzt"
  140.   ERROR_PathTooLong_3     = "erlaubt"
  141.   ERROR_PathTooLong_B0    = "Na gut"
  142.   ERROR_PathNotExists_1   = "Dieser Pfad existiert nicht:"
  143.   ERROR_PathNotExists_B0  = "Aha!"
  144.   ERROR_FileNotExists_1   = "Im Verzeichnis"
  145.   ERROR_FileNotExists_2   = "gibt es keine Datei namens"
  146.   ERROR_FileNotExists_B0  = "So so"
  147.   ERROR_NoTritonPrefs_1   = "Der Voreinsteller SYS:Prefs/Triton fehlt."
  148.   ERROR_NoTritonPrefs_B0  = "Mist !"
  149.   ERROR_TritonInstall_1   = "Triton war nicht richtig installiert !"NL||NL"Sie müssen RecoverDelDir"NL"nocheinmal starten, und dann"NL"das Prefsprogramm aufrufen."
  150.   ERROR_TritonInstall_B0  = "Na gut"
  151.   ERROR_DelDirName_1      = "Nach diesem Namen*nsucht RecoverDelDir bereits.*n*nDeshalb habe ich ihn*nwieder gelöscht ;-)*n"
  152.   ERROR_DelDirName_B0     = "Na gut"
  153.   MSG_RDD_NotRunning_1    = "RecoverDelDir läuft nicht."
  154.   MSG_RDD_NotRunning_2    = "Bitte starten Sie es !"
  155.   MSG_RDD_Positioning_1   = "Positionieren Sie nun das RecoverDelDir-Fenster"
  156.   MSG_RDD_Positioning_2   = "an der Stelle, an der es zukünftig erscheinen soll,"
  157.   MSG_RDD_Positioning_3   = "ziehen Sie es auf die gewünschte Größe,"
  158.   MSG_RDD_Positioning_4   = "und beenden Sie das Programm dann wieder."
  159.   MSG_RDD_Fixed_1         = "Das RecoverDelDir-Fenster"
  160.   MSG_RDD_Fixed_2         = "ist nun dauerhaft fixiert."
  161.   MSG_GoOnCancel          = "Weiter|Abbruch"
  162.  
  163. END
  164. ELSE DO
  165.   TRCA_Info               = "Prefsprogram for RecoverDelDir"
  166.   ERROR_NoRexxSupport     = "I can`t find the rexxsupport.library !"
  167.   ERROR_NoTritonRexx      = "I can`t find the tritonrexx.library !"
  168.   ERROR_NoTritonLib       = "I can`t find the triton.library !"
  169.   ERROR_NoLibGagdet       = "What a mess"
  170.   MENU_Title_1            = "Project "
  171.   MENU_Help               = "Help ?"
  172.   MENU_LoadLast           = "Load last saved"
  173.   MENU_LoadDefault        = "Load default"
  174.   MENU_LoadAgain          = "Reload"
  175.   MENU_SaveAndDie         = "Save and quit"
  176.   MENU_UseAndDie          = "Use and quit"
  177.   MENU_QuitAndDie         = "Quit"
  178.   GAD_Snap                = "Snapshot window"
  179.   GAD_Fonts               = "Font prefs"
  180.   GAD_Triton              = "Tritonprefs"
  181.   GAD_Save                = "Save"
  182.   GAD_USE                 = "Use"
  183.   GAD_Cancel              = "Cancel"
  184.   WIN_MinWith             = "Minimal width :"
  185.   WIN_MinWith_S           = "[ Chars ]"
  186.   WIN_MinLines            = "Minimal height :"
  187.   WIN_MinLines_S          = "[ Rows ]"
  188.   WIN_TempDir             = "Temporary dir"
  189.   WIN_DelDir              = "DelDir Name :"
  190.   WIN_RDDPath             = "RecoverDelDir's path :"
  191.   WIN_RDDSPath            = "RecoverDelDir.strings path :"
  192.   WIN_SFSDEldirName_Path  = "SFSDeldirName :"
  193.   WIN_DeviceInfo_Path     = "DeviceInfo :"
  194.   QH_Snap                 = "Permanently snapshot"NL"window position"NL"and dimension"NL"of RecoverDelDir"
  195.   QH_Fonts                = "Run the workbench's"NL"fonts preferences"NL"editor"
  196.   QH_Triton               = "Run the triton"NL"preferences editor"NL"Sys:prefs/Trion"
  197.   QH_MinWidth             = "Minimum number of"NL"characters to display"NL"in the destination line"
  198.   QH_MinLines             = "Minimum number of"NL"lines to display"NL"in the list"
  199.   QH_TempDir              = "This is where"NL"RecoverDelDir will temporary"NL"save the file"NL"currently restored"
  200.   QH_DelDir               = "A alternative"NL"name for the"NL".DelDir to look for"
  201.   QH_DelDirList_1         = "This are the DELDIR-names"NL"RecoverDelDir looks for:"||NL||NL||DelDirName.1||NL||DelDirName.2||NL
  202.   QH_DelDirList_2         =  NL||NL"The third name"NL"can be changed here."
  203.   QH_SFSDeldirName        = "Path to the"NL"program"NL"SFSDeldirName"
  204.   QH_DeviceInfo           = "Path to the"NL"program"NL"DeviceInfo"
  205.   REQ_Title_ConfigProblem = "RDD.prefs configuration problem"
  206.   REQ_Title_HeavyError    = "RecoverDelDir.Prefs Error"
  207.   REQ_Title_UsageError    = "RecoverDelDir.Usage Error"
  208.   REQ_Title_TempDir       = "New temporary dir :"
  209.   REQ_Title_RDDPath       = "New RecoverDelDir path :"
  210.   REQ_Title_RDDSPath      = "New RecoverDelDir.strings path :"
  211.   REQ_Title_FilePos       = "Where is"
  212.   ERROR_WrongPrefs        = "Incompatible Prefs file found"NL"It has been renamed to *n"
  213.   ERROR_ValueWrong_1      = "No valid numeric entry"
  214.   ERROR_ValueTooHigh_1    = "Value could be too high"
  215.   ERROR_ValueTooHigh_B0   = "I'll check"
  216.   ERROR_ValueTooLow_1     = "This Value is too low"
  217.   ERROR_ValueTooLow_B0    = "Hmm..."
  218.   ERROR_PathTooLong_1     = "Path name is too long :"
  219.   ERROR_PathTooLong_2     = "used"
  220.   ERROR_PathTooLong_3     = "permitted"
  221.   ERROR_PathTooLong_B0    = "Oh, well"
  222.   ERROR_PathNotExists_1   = "Path does not exist :"
  223.   ERROR_PathNotExists_B0  = "Oh."
  224.   ERROR_FileNotExists_1   = "The directory"
  225.   ERROR_FileNotExists_2   = "does not contain a file called"
  226.   ERROR_FileNotExists_B0  = "Well, well"
  227.   ERROR_NoTritonPrefs_1   = "Tritonprefs (sys:prefs/Triton) not found"
  228.   ERROR_NoTritonPrefs_B0  = "Blimey !"
  229.   ERROR_TritonInstall_1   = "Triton wasn't installed correctly !"NL"Please restart RecoverDelDir and"NL"please run the prefs program"NL"again."
  230.   ERROR_TritonInstall_B0  = "Okay"
  231.   ERROR_DelDirName_1      = "RecoverDelDir searches for this entry"NL"anyway, so I have deleted your new entry. :-)"
  232.   ERROR_DelDirName_B0     = "Oh, well"
  233.   MSG_RDD_NotRunning_1    = "RecoverDelDir not running"
  234.   MSG_RDD_NotRunning_2    = "Please run it now !"
  235.   MSG_RDD_Positioning_1   = "Now position the RecoverDelDir window"
  236.   MSG_RDD_Positioning_2   = "where you want it to appear from now on,"
  237.   MSG_RDD_Positioning_3   = "then scale it to your preferred size,"
  238.   MSG_RDD_Positioning_4   = "then quit RecoverDelDir."
  239.   MSG_RDD_Fixed_1         = "The RecoverDelDir window"
  240.   MSG_RDD_Fixed_2         = "has been snapshot"
  241.   MSG_GoOnCancel          = "Continue|Cancel"
  242.  
  243. END
  244.  
  245. ErrorReqTitle = REQ_Title_HeavyError
  246.  
  247. apptags = 'TRCA_Name     RecoverDelDirPrefs',
  248.           'TRCA_LongName "RecoverDelDir.prefs"',
  249.           'TRCA_Info'    '"'TRCA_Info'"',
  250.           'TRCA_Version  "1"',
  251.           'TRCA_Release  "2"',
  252.           'TRCA_Date     "7.4.1999"',
  253.           'TAG_END'
  254.  
  255.  
  256. IF ~EXISTS(ENVARCPrefs) THEN DO
  257.   CALL _Init(ENVARCPrefs)
  258.   NewPrefs = 1
  259. END
  260. IF ~EXISTS(ENVPrefs) THEN DO
  261.   CALL _Init(ENVPrefs)
  262.   NewPrefs = 1
  263. END
  264. ELSE DO
  265.   Vers = ""
  266.   CALL Open('PrefsFile',ENVPrefs,'R')
  267.   DO WHILE Upper(Vers) ~= Upper(Version)
  268.     Vers = ReadLn('PrefsFile')
  269.     IF EOF('PrefsFile') THEN leave
  270.   END
  271.   CALL Close('PrefsFile')
  272.   IF vers = Version & vers = PrefsVersion THEN
  273.     Call _LoadCurrentPrefs()
  274.   ELSE DO
  275.     address command "rename "ENVPrefs" TO "ENVprefs||Kennung
  276.     address command "rename "ENVARCPrefs" TO "ENVARCprefs||Kennung
  277.     Fehlertext = ERROR_WrongPrefs||ENVARCprefs||Kennung
  278.     CALL _Requester(ErrorReqTitle)
  279.     CALL _Init(ENVARCPrefs)
  280.     CALL _Init(ENVPrefs)
  281.     NewPrefs = 1
  282.   END
  283. END
  284.  
  285. IF Open('qh',ENVARCPrefs,'R') THEN DO
  286.   Hp = ""
  287.   DO UNTIL Word(Hp,1) = Word(Version,1) | EOF('qh')
  288.     Hp = ReadLn('qh')
  289.   END
  290.   Hp = ReadLn('qh')
  291.   Call Close('qh')
  292.   IF Hp = 0 THEN Help = 0
  293. END
  294.  
  295. IF ~SHOW('LIBRARIES','rexxsupport.library') THEN DO
  296.    IF ~EXISTS('Libs:rexxsupport.library') THEN DO
  297.      Fehlertext = ERROR_NoRexxSupport
  298.      Gadgettext = ERROR_NoLibGagdet
  299.      CALL _Requester(ErrorReqTitle)
  300.      EXIT 10
  301.    END
  302.    ELSE
  303.       CALL ADDLIB('rexxsupport.library',0,-30,0)
  304. END
  305.  
  306. IF ~SHOW('LIBRARIES','tritonrexx.library') THEN DO
  307.    IF ~EXISTS('Libs:tritonrexx.library') THEN DO
  308.      Fehlertext = ERROR_NoTritonRexx
  309.      Gadgettext = ERROR_NoLibGagdet
  310.      CALL _Requester(ErrorReqTitle)
  311.      EXIT 10
  312.    END
  313.    ELSE
  314.       CALL ADDLIB('tritonrexx.library',10,-30,0)
  315. END
  316.  
  317. IF ~SHOW('LIBRARIES','triton.library') THEN DO
  318.    IF ~EXISTS('Libs:triton.library') THEN DO
  319.      Fehlertext = ERROR_NoTritonLib
  320.      Gadgettext = ERROR_NoLibGagdet
  321.      CALL _Requester(ErrorReqTitle)
  322.      EXIT 10
  323.    END
  324. END
  325.  
  326. /* ----------- Mainwindow ------------  */
  327. _Fenster:
  328. Windowtags = WindowID(1),
  329.           WindowPosition('TRWP_CENTERDISPLAY'),
  330.           WindowTitle('RecoverDelDir Prefs'),
  331.           TRWI_Backfill TRBF_NONE,
  332.           QuickHelpOn(Help),
  333.           BeginMenu(MENU_Title_1),
  334.             MenuItemC(MENU_Help,108),
  335.             MenuItem("  Guide",109),
  336.             'ItemBarlabel',
  337.             MenuItem(MENU_LoadLast,100),
  338.             MenuItem(MENU_LoadDefault,101),
  339.             MenuItem(MENU_LoadAgain,102),
  340.             'ItemBarlabel',
  341.             MenuItem(MENU_SaveAndDie,105),
  342.             MenuItem(MENU_UseAndDie,106),
  343.             MenuItem(MENU_QuitAndDie,107),
  344.              'HorizGroupAC Space',
  345.                 'VertGroupAC SpaceB',
  346.                   'LineArray',
  347.                    'BeginLine',
  348.                       TextN(WIN_MinLines' ') 'TRAT_Flags TROF_RIGHTALIGN Space',
  349.                       StringGadget(Prefs.2,2),
  350.                       Quickhelp(QH_MinLines) 'Space',
  351.                       Text3(WIN_MinLines_S) 'Space',
  352.                    'EndLine Space',
  353.                    'BeginLine',
  354.                       TextN(WIN_MinWith' ') 'TRAT_Flags TROF_RIGHTALIGN Space',
  355.                       StringGadget(Prefs.1,1),
  356.                       Quickhelp(QH_MinWidth) 'Space',
  357.                       Text3(WIN_MinWith_S) 'Space',
  358.                    'EndLine Space',
  359.                    'BeginLine',
  360.                       TextN(WIN_DelDir' ') 'TRAT_Flags TROF_RIGHTALIGN Space',
  361.                       StringGadget(Prefs.3,3),
  362.                       Quickhelp(QH_DelDirList_1||DelDirName.3||QH_DelDirList_2) 'Space',
  363.                    'EndLine Space',
  364.                    'BeginLine',
  365.                       TextH(WIN_SFSDEldirName_Path' ') 'TRAT_Flags TROF_RIGHTALIGN Space',
  366.                       StringGadget(Prefs.5,5),
  367.                       Quickhelp(QH_SFSDeldirName) 'Space',
  368.                       'HorizGroup',
  369.                          GetFileButton(55),
  370.                       'EndGroup Space',
  371.                    'EndLine Space',
  372.                    'BeginLine',
  373.                       TextH(WIN_DeviceInfo_Path' ') 'TRAT_Flags TROF_RIGHTALIGN Space',
  374.                       StringGadget(Prefs.6,6),
  375.                       Quickhelp(QH_DeviceInfo) 'Space',
  376.                       'HorizGroup',
  377.                          GetFileButton(66),
  378.                       'EndGroup Space',
  379.                    'EndLine Space',
  380.                   'EndArray Space',
  381.                   'HorizGroup Space',
  382.                    'VertGroupA SpaceB Space',
  383.                       'HorizGroupS',
  384.                          GetDrawerButton(44) 'Space',
  385.                          TextH(WIN_TempDir) 'Space',
  386.                       'EndGroup Space',
  387.                       'HorizGroupE',
  388.                          StringGadget(Prefs.4,4),
  389.                          Quickhelp(QH_TempDir) 'SpaceB',
  390.                       'EndGroup',
  391.                    'EndGroup SpaceB',
  392.                    'VertGroupAC Space',
  393.                       Button(GAD_Snap,40),
  394.                       Quickhelp(QH_Snap) 'Space',
  395.                       Button(GAD_Fonts,41),
  396.                       Quickhelp(QH_Fonts) 'Space',
  397.                       Button(GAD_Triton,42),
  398.                       Quickhelp(QH_Triton) 'Space',
  399.                    'EndGroup Space',
  400.                   'EndGroup Space',
  401.                    'HorizGroupA Space',
  402.                       Button(GAD_Save,20) 'Space',
  403.                       Button(GAD_Use,21) 'Space',
  404.                       Button(GAD_Cancel,22) 'Space',
  405.                    'EndGroup Space',
  406.                 'EndGroup Space',
  407.              'EndGroup',
  408.           'EndProject'
  409.  
  410. ErrorReqTitle = REQ_Title_UsageError
  411. app = TR_CREATEAPP(apptags)
  412. IF app ~= '00000000'x THEN DO
  413.    window = TR_OPENPROJECT(app,windowtags)
  414.    WindowProject = C2D(Window)
  415.    IF window ~= '00000000'x THEN DO
  416.       IF Help = 1 THEN CALL TR_SetAttribute(window,108,TRMN_Flags,TRMF_CHECKED)
  417.       IF NewPrefs = 1 THEN Call _SetNewEntries()
  418.       ende = 0
  419.       DO WHILE ~ende
  420.          CALL TR_WAIT(app,'')
  421.          DO WHILE TR_HANDLEMSG(app,'event')
  422.            IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
  423.              SELECT
  424.                WHEN event.trm_id = 1 THEN
  425.                  Call _CheckValues(1)
  426.                WHEN event.trm_id = 2 THEN
  427.                  Call _CheckValues(2)
  428.                WHEN event.trm_id = 3 THEN
  429.                  Call _DelDirTest(3)
  430.                WHEN event.trm_id = 4 THEN
  431.                  Call _CheckAll(4,MaxValue.4,FileName.4)
  432.                WHEN event.trm_id = 4 THEN
  433.                  Call _CheckAll(4,MaxValue.4,FileName.4)
  434.                WHEN event.trm_id = 5 THEN
  435.                  Call _CheckAll(5,MaxValue.5,FileName.5)
  436.                WHEN event.trm_id = 6 THEN
  437.                  Call _CheckAll(6,MaxValue.6,FileName.6)
  438.                OTHERWISE
  439.                  NOP
  440.              END
  441.            END
  442.            SELECT
  443.              WHEN event.trm_class = 'TRMS_CLOSEWINDOW' THEN
  444.                ende = 1
  445.              WHEN event.trm_ID = 22 | event.trm_ID = 107 THEN
  446.                ende = 1
  447.              WHEN event.trm_ID = 21 | event.trm_ID = 106 THEN DO
  448.                Call _FinalCheck()
  449.                Call _ChangeTest()
  450.                IF NewPrefs THEN DO
  451.                  CALL _UsePrefs()
  452.                  ende = 1
  453.                END
  454.                IF ~NewPrefs & ~Error THEN ende = 1
  455.              END
  456.              WHEN event.trm_ID = 20 | event.trm_ID = 105 THEN DO
  457.                Call _FinalCheck()
  458.                Call _ChangeTest()
  459.                IF NewPrefs & ~Error THEN DO
  460.                  CALL _UsePrefs()
  461.                  CALL _SavePrefs()
  462.                  ende = 1
  463.                END
  464.                IF ~NewPrefs & ~Error THEN ende = 1
  465.              END
  466.              WHEN event.trm_id = 108 THEN
  467.                Call _HelpProc()
  468.              WHEN event.trm_id = 109 THEN
  469.                Call _Guide()
  470.              WHEN event.trm_id = 100 THEN DO
  471.                Call _LoadRecentPrefs()
  472.                Call _SetNewEntries()
  473.                NewPrefs = 1
  474.              END
  475.              WHEN event.trm_id = 101 THEN DO
  476.                Call _LoadDefaultPrefs()
  477.                Call _SetNewEntries()
  478.                NewPrefs = 1
  479.              END
  480.              WHEN event.trm_id = 102 THEN DO
  481.                Call _LoadCurrentPrefs()
  482.                Call _SetNewEntries()
  483.                NewPrefs = 1
  484.              END
  485.              WHEN event.trm_id = 44 THEN DO
  486.                Call _NewPath(4,REQ_Title_TempDir)
  487.                Call _CheckAll(4,MaxValue.4,FileName.4)
  488.              END
  489.              WHEN event.trm_id = 55 THEN DO
  490.                Call _NewPath(5,REQ_Title_FilePos' 'FileName.5)
  491.                Call _ExistsFile(5,FileName.5)
  492.              END
  493.              WHEN event.trm_id = 66 THEN DO
  494.                Call _NewPath(6,REQ_Title_FilePos' 'FileName.6)
  495.                Call _ExistsFile(6,FileName.6)
  496.              END
  497.              WHEN event.trm_id = 40 THEN DO
  498.                  CALL _RDDFix()
  499.              END
  500.              WHEN event.trm_id = 41 THEN DO
  501.                IF EXISTS(Fonts) THEN
  502.                  address command Fonts
  503.              END
  504.              WHEN event.trm_id = 42 THEN DO
  505.                IF EXISTS(Triton) THEN DO
  506.                  CALL TR_CLOSEPROJECT(Window)
  507.                  CALL TR_DELETEAPP(app)
  508.                  address command Triton
  509.                  CALL _Fenster()
  510.                END
  511.                ELSE DO
  512.                  Fehlertext = ERROR_NoTritonPrefs_1
  513.                  Gadgettext = ERROR_NoTritonPrefs_B0
  514.                  Call _Requester(ErrorReqTitle)
  515.                END
  516.              END
  517.              OTHERWISE
  518.                NOP
  519.            END
  520.          END
  521.       END
  522.       CALL TR_UNLOCKPROJECT(Window)
  523.       CALL TR_CLOSEPROJECT(window)
  524.    END
  525.    CALL TR_DELETEAPP(app)
  526. END
  527.  
  528. EXIT
  529.  
  530. /* ---------------- Procedures ------------------- */
  531.  
  532. _Init:
  533.   PARSE ARG PF
  534.   CALL _LoadDefaultPrefs()
  535.   CALL Open('PrefsFile',PF,'W')
  536.   DO i = 1 TO PrefsLines
  537.     WriteLn('PrefsFile',Prefs.i)
  538.   END
  539.   WriteLn('PrefsFile','--')
  540.   DO i = 1 TO PrefsLines
  541.     WriteLn('PrefsFile',Prefs.i)
  542.   END
  543.   CALL _WriteLnComments()
  544.   CALL Close('PrefsFile')
  545. RETURN
  546.  
  547. _RDDFix:
  548.   IF ~EXISTS('ENV:Triton') THEN DO
  549.     address command 'c:makedir ENV:Triton'
  550.     IF ~EXISTS('ENVARC:Triton') THEN
  551.       address command 'c:makedir ENVARC:Triton'
  552.     Auswahl = TR_EasyRequest(app,,
  553.     NL||" "||ERROR_TritonInstall_1||NL,,
  554.     ERROR_TritonInstall_B0,"TREZ_Title" '"RDD Prefs"' "TREZ_LockProject" WindowProject)
  555.     RETURN
  556.   END
  557.   IF FromRDD THEN DO
  558.     DO UNTIL Exists("env:Triton/RecoverDelDir.win.1")
  559.     END
  560.     Auswahl = TR_EasyRequest(app,,
  561.     NL||" "||MSG_RDD_Fixed_1,
  562.     NL||MSG_RDD_Fixed_2||NL,,
  563.     "OK","TREZ_Title" '"RDD Prefs"' "TREZ_LockProject" WindowProject)
  564.     address command "c:copy env:Triton/RecoverDelDir.win.1 TO envarc:Triton/RecoverDelDir.win.1  QUIET"
  565.   END
  566.   ELSE DO
  567.     address command "c:delete env:Triton/RecoverDelDir.win.1 QUIET"
  568.     Check = Getclip('RecoverDelDir')
  569.     IF Check ~= 2 THEN DO
  570.       Auswahl = TR_EasyRequest(app,,
  571.       NL||" "||MSG_RDD_NotRunning_1,
  572.       NL||MSG_RDD_NotRunning_2||NL,,
  573.       MSG_GoOnCancel,"TREZ_Title" '"RDD Prefs"' "TREZ_LockProject" WindowProject)
  574.     END
  575.     IF Auswahl = 1 | Check = 2 THEN DO
  576.       DO WHILE Getclip('RecoverDelDir') ~= 2
  577.       END
  578.       Auswahl = TR_EasyRequest(app,,
  579.       NL||" "||MSG_RDD_Positioning_1,
  580.       NL||MSG_RDD_Positioning_2,
  581.       NL||MSG_RDD_Positioning_3,
  582.       NL||MSG_RDD_Positioning_4||NL,,
  583.       MSG_GoOnCancel,"TREZ_Title" '"RDD Prefs"' "TREZ_LockProject" WindowProject)
  584.       IF Auswahl = 1 THEN DO
  585.         DO UNTIL Exists("env:Triton/RecoverDelDir.win.1")
  586.         END
  587.         Auswahl = TR_EasyRequest(app,,
  588.         NL||" "||MSG_RDD_Fixed_1,
  589.         NL||MSG_RDD_Fixed_2||NL,,
  590.         "OK","TREZ_Title" '"RDD Prefs"' "TREZ_LockProject" WindowProject)
  591.         address command "c:copy env:Triton/RecoverDelDir.win.1 TO envarc:Triton/RecoverDelDir.win.1  QUIET"
  592.       END
  593.     END
  594.   END
  595. RETURN
  596.  
  597. _NewPath:
  598. PARSE ARG GNr, Title
  599.    Path = TR_GETATTRIBUTE(window,GNr,'TROB_STRING')
  600.    CALL _FileRequest('"'Path'"','"'Title'"',"(#?)")
  601.    IF Auswahl = 1 THEN DO
  602.      FullPath = SaveDir.1
  603.      IF LastPos(":",FullPath) ~= Length(FullPath) THEN
  604.        OnlyPath = FullPath"/"
  605.      ELSE
  606.        OnlyPath = FullPath
  607.      CALL TR_SETATTRIBUTE(Window,GNr,'TROB_String',OnlyPath)
  608.    END
  609. RETURN
  610.  
  611. _FileRequest:
  612. Parse ARG Desti, Titel, Pattern
  613. Auswahl = ASL_RequestFile(Window,'SaveDir',,
  614.                       "ASLFR_DoSaveMode" 1,
  615.                       "ASLFR_DrawersOnly" 1,
  616.                       "ASLFR_InitialDrawer" Desti,
  617.                       "ASLFR_DoPatterns" 1,
  618.                       "ASLFR_RejectPattern" Pattern,
  619.                       "ASLFR_TitleText" Titel)
  620. RETURN
  621.  
  622. _LoadRecentPrefs:
  623.   CALL Open('PrefsFile',ENVprefs,'R')
  624.     DO i = 1 TO PrefsLines +1
  625.       Call ReadLn('PrefsFile')
  626.     END
  627.     DO i = 1 TO PrefsLines
  628.       Line = ReadLn('PrefsFile')
  629.       Prefs.i = Line
  630.       NPrefs.i = Line
  631.     END
  632.   CALL Close('PrefsFile')
  633. RETURN
  634.  
  635. _LoadCurrentPrefs:
  636.   CALL Open('PrefsFile',ENVprefs,'R')
  637.     DO i = 1 TO PrefsLines
  638.       Line = ReadLn('PrefsFile')
  639.       Prefs.i  = Line
  640.       NPrefs.i = Line
  641.     END
  642.   CALL Close('PrefsFile')
  643. RETURN
  644.  
  645. _LoadDefaultPrefs:
  646.   DO i = 1 TO PrefsLines
  647.     Prefs.i  = DPrefs.i
  648.     NPrefs.i = Prefs.i
  649.   END
  650. RETURN
  651.  
  652. _SetNewEntries:
  653.   DO i = 1 TO PrefsLines
  654.     CALL TR_SETATTRIBUTE(Window,i,'TROB_String',Prefs.i)
  655.   END
  656. RETURN
  657.  
  658. _SavePrefs:
  659.   CALL Open('PrefsFile',ENVARCprefs,'W')
  660.   DO i = 1 TO PrefsLines
  661.     WriteLn('PrefsFile',NPrefs.i)
  662.   END
  663.   WriteLn('PrefsFile','--')
  664.   DO i = 1 TO PrefsLines
  665.     WriteLn('PrefsFile',Prefs.i)
  666.   END
  667.   CALL _WriteLnComments()
  668.   CALL Close('PrefsFile')
  669. RETURN
  670.  
  671. _UsePrefs:
  672.   CALL Open('PrefsFile',ENVprefs,'W')
  673.   DO i = 1 TO PrefsLines
  674.     WriteLn('PrefsFile',NPrefs.i)
  675.   END
  676.   WriteLn('PrefsFile','--')
  677.   DO i = 1 TO PrefsLines
  678.     WriteLn('PrefsFile',Prefs.i)
  679.   END
  680.   CALL _WriteLnComments()
  681.   CALL Close('PrefsFile')
  682. RETURN
  683.  
  684. _WriteLnComments:
  685.   WriteLn('PrefsFile','--')
  686.   WriteLn('PrefsFile',"MinWidth   min "||MinValue.1||" max "||MaxValue.1)
  687.   WriteLn('PrefsFile',"MinLines   min "||MinValue.2||"  max "||MaxValue.2)
  688.   WriteLn('PrefsFile',"Alternate  DelDir-Name   default "||DPrefs.3)
  689.   WriteLn('PrefsFile',"TempDir    max "||MaxValue.4||" default "||DPrefs.4)
  690.   WriteLn('PrefsFile',"Path of SFSDeldirName   default "||DPrefs.5)
  691.   WriteLn('PrefsFile',"Path of DeviceInfo      default "||DPrefs.6)
  692.   WriteLn('PrefsFile','--')
  693.   WriteLn('PrefsFile',Version)
  694.   IF window ~= '00000000'x THEN
  695.     Help = TR_GETATTRIBUTE(window,108,'TRAT_VALUE')
  696.   ELSE Help = 1
  697.   WriteLn('PrefsFile',Help)
  698. RETURN
  699.  
  700. _ChangeTest:
  701.   DO i = 1 TO PrefsLines
  702.     NPrefs.i = TR_GETATTRIBUTE(window,i,'TROB_STRING')
  703.   END
  704.   DO i = 1 TO PrefsLines
  705.     IF Prefs.i ~= NPrefs.i THEN NewPrefs = 1
  706.   END
  707. RETURN(NewPrefs)
  708.  
  709. _CheckValues:
  710.   PARSE ARG Nr
  711.   Value = TR_GETATTRIBUTE(window,Nr,'TROB_STRING')
  712.   IF Datatype(Value,WHOLE) THEN DO
  713.     IF Value < MinValue.Nr THEN DO
  714.       Fehlertext = Value||" : "||ERROR_ValueTooLow_1
  715.       Gadgettext = ERROR_ValueTooLow_B0
  716.       Call _Requester(ErrorReqTitle)
  717.       CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Prefs.Nr)
  718.       ValuesOK = 0
  719.       Error = 1
  720.     END
  721.     IF Value > MaxValue.Nr THEN DO
  722.       Fehlertext = Value||" : "||ERROR_ValueTooHigh_1
  723.       Gadgettext = ERROR_ValueTooHigh_B0
  724.       Call _Requester(ErrorReqTitle)
  725.     END
  726.   END
  727.   ELSE DO
  728.       Fehlertext = Value||" : "||ERROR_ValueWrong_1
  729.       Gadgettext = ERROR_ValueTooLow_B0
  730.       Call _Requester(ErrorReqTitle)
  731.       CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Prefs.Nr)
  732.       ValuesOK = 0
  733.       Error = 1
  734.   END
  735. RETURN
  736.  
  737. _CheckPathLength:
  738.   PARSE ARG Nr, Max
  739.   Path = TR_GETATTRIBUTE(window,Nr,'TROB_STRING')
  740.   IF Length(Path) > Max THEN DO
  741.     Fehlertext = ERROR_PathTooLong_1||,
  742.                  " "||Length(Path)||" "||ERROR_PathTooLong_2||,
  743.                  ", "||Max||" "||ERROR_PathTooLong_3||"*n"||Path
  744.     Gadgettext = ERROR_PathTooLong_B0
  745.     Call _Requester(ErrorReqTitle)
  746.     ValuesOK = 0
  747.     Error = 1
  748.   END
  749.   ELSE
  750.     ValuesOK = 1
  751. RETURN
  752.  
  753. _SlashTest:
  754.   PARSE ARG Nr
  755.   Path = TR_GETATTRIBUTE(window,Nr,'TROB_STRING')
  756.   IF LastPos(":",Path) ~= Length(Path) THEN DO
  757.     IF LastPos("/",Path) ~= Length(Path) THEN DO
  758.       Path = Path||"/"
  759.       CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Path)
  760.     END
  761.   END
  762. RETURN
  763.  
  764. _DelDirTest:
  765.   PARSE ARG Nr
  766.   Name = TR_GETATTRIBUTE(window,Nr,'TROB_STRING')
  767.   IF Length(Name) >= 2 THEN DO
  768.     IF Left(Name,1) ~= "." THEN DO
  769.       Name = "."||Name
  770.       CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Name)
  771.     END
  772.   END
  773.   ELSE DO
  774.     CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Prefs.3)
  775.     RETURN
  776.   END
  777.   IF Pos(":",Name) > 1 THEN DO
  778.     Name = DelStr(Name,Pos(":",Name),1)
  779.     CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Name)
  780.   END
  781.   DO WHILE Pos("/",Name) > 1
  782.     Name = DelStr(Name,Pos("/",Name),1)
  783.   END
  784.   CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Name)
  785.   IF Name == DelDirName.1 | Name == DelDirName.2 THEN DO
  786.     Fehlertext = "*n"||Name||"*n*n"||ERROR_DelDirName_1
  787.     Gadgettext = ERROR_DelDirName_B0
  788.     Name = Prefs.3
  789.     CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Prefs.3)
  790.     Call _Requester(ErrorReqTitle)
  791.     Error = 1
  792.     RETURN
  793.   END
  794.   ELSE DO
  795.     DelDirName.3 = Name
  796.     CALL TR_SETATTRIBUTE(Window,Nr,'TRDO_QuickHelpString',QH_DelDirList_1||DelDirName.3||QH_DelDirList_2)
  797.   END
  798. RETURN
  799.  
  800. _ExistsPath:
  801.   PARSE ARG Nr
  802.   Path = TR_GETATTRIBUTE(window,Nr,'TROB_STRING')
  803.   IF ~EXISTS(Path) THEN DO
  804.     Fehlertext = ERROR_PathNotExists_1||"*n"||Path
  805.     Gadgettext = ERROR_PathNotExists_B0
  806.     Call _Requester(ErrorReqTitle)
  807.     CALL TR_SETATTRIBUTE(Window,Nr,'TROB_String',Prefs.Nr)
  808.     PathExists = 0
  809.     Error = 1
  810.   END
  811.   ELSE
  812.     PathExists = 1
  813. RETURN
  814.  
  815. _ExistsFile:
  816.   PARSE ARG Nr, File
  817.   Path = TR_GETATTRIBUTE(window,Nr,'TROB_STRING')
  818.   IF ~EXISTS(Path||File) THEN DO
  819.     Fehlertext = ERROR_FileNotExists_1||"*n"||Path||"*n"||,
  820.                  ERROR_FileNotExists_2||"*n"||File
  821.     Gadgettext = ERROR_FileNotExists_B0
  822.     Call _Requester(ErrorReqTitle)
  823.     CALL TR_SETATTRIBUTE(window,Nr,'TROB_STRING',Prefs.Nr)
  824.     FileExists = 0
  825.     Error = 1
  826.   END
  827.   ELSE
  828.     FileExists = 1
  829. RETURN
  830.  
  831. _CheckAll:
  832.   PARSE ARG Nr, Max, File
  833.   Path = TR_GETATTRIBUTE(window,Nr,'TROB_STRING')
  834.   Call _CheckPathLength(Nr,Max)
  835.   IF ValuesOK THEN DO
  836.     Call _SlashTest(Nr)
  837.     Call _ExistsPath(Nr)
  838.   END
  839.   IF PathExists THEN
  840.     Call _ExistsFile(Nr,File)
  841. RETURN
  842.  
  843. _FinalCheck:
  844.   Error = 0
  845.   CALL _DelDirTest(3)
  846.   DO i = 1 TO 2
  847.     Call _CheckValues(i)
  848.   END
  849.   DO i = 4 TO PrefsLines
  850.     Path = TR_GETATTRIBUTE(window,i,'TROB_STRING')
  851.     Call _CheckPathLength(i,MaxValue)
  852.     IF ValuesOK THEN DO
  853.       Call _SlashTest(i)
  854.       Call _ExistsPath(i)
  855.     END
  856.     IF PathExists THEN
  857.       Call _ExistsFile(i,FileName.i)
  858.   END
  859. RETURN
  860.  
  861. _Guide:
  862.   IF language = "deutsch" THEN RDDGuide = RDDgGuide
  863.   ELSE                         RDDGuide = RDDeGuide
  864.   IF Exists(RDDGuide) THEN DO
  865.     IF EXISTS(Multiview) THEN MV = Multiview
  866.     ELSE IF EXISTS(AmigaGuide) THEN MV = AmigaGuide
  867.     ELSE DO
  868.       Fehlertext = "Sorry, found neither*n"||Multiview||"*nnor*n"||AmigaGuide
  869.       CALL _Requester(ErrorReqTitle)
  870.       RETURN
  871.     END
  872.     address command 'run 'MV' 'RDDGuide
  873.   END
  874.   ELSE DO
  875.     Fehlertext = "Couldn`t find*n"RddGuide
  876.     CALL _Requester(REQ_Title_ConfigProblem)
  877.     RETURN
  878.   END
  879. RETURN
  880.  
  881. _HelpProc:
  882.    Help = TR_GETATTRIBUTE(window,108,'TRAT_VALUE')
  883.    CALL TR_SETATTRIBUTE(window,0,'TRWI_QuickHelp',Help)
  884.    Call _FinalCheck()
  885.    IF ~Error THEN DO
  886.      CALL _UsePrefs()
  887.      CALL _SavePrefs()
  888.    END
  889. RETURN
  890.  
  891.  
  892. /* ------------ Routine zur Textausgabe mittels RequestChoice -------------- */
  893.  
  894. _Requester:
  895.  
  896. Parse Arg ErrorReqTitle
  897. IF Gadgettext = "GADGETTEXT" THEN Gadgettext = "OK"
  898.  
  899. IF EXISTS('c:RequestChoice') THEN DO
  900.   Dosbefehl = "C:RequestChoice >NIL: "||,
  901.                D2C(32)||D2C(34)||,
  902.                ErrorReqTitle||,
  903.                D2C(34)||D2C(32)||D2C(34)||,
  904.                Fehlertext||,
  905.                D2C(34)||D2C(32)||D2C(34)||,
  906.                Gadgettext||D2C(34)
  907.   ADDRESS COMMAND Dosbefehl
  908. END
  909. ELSE DO  /* Wer RequestChoice nicht hat, bekommt eben eine Shell */
  910.   IF OPEN('Shell','CON:160/50/500/100/'ErrorReqTitle'/CLOSE/WAIT') THEN DO
  911.     DO WHILE POS('*n',Fehlertext) > 0
  912.       Fehlertext = Overlay(D2C(10),Fehlertext,Pos('*n',Fehlertext),2)
  913.     END
  914.     WriteLn('Shell',ErrorReqTitle||NL||NL||' 'Fehlertext)
  915.     CALL CLOSE('Shell')
  916.   END
  917. END
  918.          /* Fehlertexte im Ram:RDD.Fehler speichern:             */
  919.  
  920.   IF EXISTS("Ram:RDDPrefs.error") THEN
  921.     CALL OPEN('EText',"Ram:RDDPrefs.error",'A')
  922.   ELSE
  923.     CALL OPEN('EText',"Ram:RDDPrefs.error",'W')
  924.   DO WHILE POS('*n',Fehlertext) > 0
  925.     Fehlertext = Overlay(D2C(10),Fehlertext,Pos('*n',Fehlertext),2)
  926.   END
  927.   WriteLn('EText',Copies('-',53)||NL||SubStr(Sourceline(1),9)||NL)
  928.   DO i = 1 TO Prefslines
  929.     WriteLn('EText',i' 'Prefs.i)
  930.   END
  931.   WriteLn('EText',' 'NL||' 'Fehlertext||NL)
  932.   CALL CLOSE('EText')
  933. RETURN 0
  934.  
  935. /* ----------------- Im Falle eines Script-Fehlers hier hin springen ---------------- */
  936.  
  937. break_c:
  938. failure:
  939. halt:
  940. ioerr:
  941. syntax:
  942.    Line = sigl
  943.    Fehlerinfo1 = 'Error Nr.'rc ':'
  944.    Fehlerinfo2 = ' 'ERRORTEXT(rc)
  945.    Fehlerinfo3 = 'in Line' Line ':'
  946.    Fehlerinfo4 = ' '||Translate(Strip(SOURCELINE(Line),'B'),D2C(39),D2C(34))
  947.    IF Length(Fehlerinfo4) > 40 THEN DO
  948.      Len1 = Trunc(Length(Fehlerinfo4) / 2)
  949.      Len2 = Length(Fehlerinfo4) - Len1
  950.      Fehlerinfo4 = Left(Fehlerinfo4,Len1)||"*n "||Right(Fehlerinfo4,Len2)
  951.    END
  952.    Fehlertext  = Fehlerinfo1||"*n"||Fehlerinfo2||"*n"||Fehlerinfo3||"*n"||Fehlerinfo4
  953.    Gadgettext = "Save as Ram:RDDPrefs.error"
  954.    CALL _Requester("RDD.prefs intern error")
  955.    CALL TR_DELETEAPP(app)
  956. EXIT(10)
  957.  
  958.